package com.swiot.biz.service.impl;

import java.util.List;
import com.swiot.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.swiot.biz.mapper.AlertRecordMapper;
import com.swiot.biz.domain.AlertRecord;
import com.swiot.biz.service.IAlertRecordService;

/**
 * 告警记录Service业务层处理
 * 
 * @author kingdom
 * @date 2025-09-16
 */
@Service
public class AlertRecordServiceImpl implements IAlertRecordService 
{
    @Autowired
    private AlertRecordMapper alertRecordMapper;

    /**
     * 查询告警记录
     * 
     * @param id 告警记录主键
     * @return 告警记录
     */
    @Override
    public AlertRecord selectAlertRecordById(String id)
    {
        return alertRecordMapper.selectAlertRecordById(id);
    }

    @Override
    public Integer selectAlertRecordCountById(String id) {
        return alertRecordMapper.selectAlertRecordCountById(id);
    }

    /**
     * 查询告警记录列表
     * 
     * @param alertRecord 告警记录
     * @return 告警记录
     */
    @Override
    public List<AlertRecord> selectAlertRecordList(AlertRecord alertRecord)
    {
        return alertRecordMapper.selectAlertRecordList(alertRecord);
    }

    /**
     * 新增告警记录
     * 
     * @param alertRecord 告警记录
     * @return 结果
     */
    @Override
    public int insertAlertRecord(AlertRecord alertRecord)
    {
        alertRecord.setCreateTime(DateUtils.getNowDate());
        return alertRecordMapper.insertAlertRecord(alertRecord);
    }

    /**
     * 修改告警记录
     * 
     * @param alertRecord 告警记录
     * @return 结果
     */
    @Override
    public int updateAlertRecord(AlertRecord alertRecord)
    {
        alertRecord.setUpdateTime(DateUtils.getNowDate());
        return alertRecordMapper.updateAlertRecord(alertRecord);
    }

    /**
     * 批量删除告警记录
     * 
     * @param ids 需要删除的告警记录主键
     * @return 结果
     */
    @Override
    public int deleteAlertRecordByIds(String[] ids)
    {
        return alertRecordMapper.deleteAlertRecordByIds(ids);
    }

    /**
     * 删除告警记录信息
     * 
     * @param id 告警记录主键
     * @return 结果
     */
    @Override
    public int deleteAlertRecordById(String id)
    {
        return alertRecordMapper.deleteAlertRecordById(id);
    }

    @Override
    public int deleteAlertRecordByTemplateDataId(String templateDataId) {
        return alertRecordMapper.deleteAlertRecordByTemplateDataId(templateDataId);
    }
}
